package smallfrench.moteur.interp;

import java.util.ArrayList;

public abstract class EcoutableExcecution {

	private final ArrayList<EcouteurExecution> ecouteursExecution;

	public EcoutableExcecution() {
		ecouteursExecution = new ArrayList<EcouteurExecution>();
	}

	/**
	 * Signale une fin d'exécution avec succès aux écouteurs
	 * @param processusScript
	 */
	protected void signalerFin(ProcessusScript processusScript) {
		for (EcouteurExecution i : ecouteursExecution) {
			i.onFin(processusScript);
		}
	}

	/**
	 * Ajoute un écouteur.
	 * @param e
	 */
	public void ajouterEcouteur(EcouteurExecution e) {
		ecouteursExecution.add(e);
	}
}
